home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / macros.arc / MOVROM.ASM < prev    next >
Encoding:
Assembly Source File  |  1983-11-17  |  3.4 KB  |  43 lines

  1.  
  2. *                                                                               
  3. *MOVE L(CONST) WORDS FROM A(RAM VAR)                                            
  4. *TO B(ROM VAR)                                                                  
  5. *                                                                               
  6. MOVROM $MACRO  A,B,L                                                            
  7.        $VAR ST                                                                  
  8.        $ASG '*' TO ST.S                                                         
  9.        $IF  L.V=0        DEFAULT 0 TO 1                                         
  10.        $ASG 1 TO L.V                                                            
  11.        $ENDIF                                                                   
  12.        $IF  A.L=0                                                               
  13.        ACTAR AR0         AC TO AR0                                              
  14.        $ENDIF                                                                   
  15.        $IF  B.L=0                                                               
  16.        ACTAR AR1         AC TO AR1                                              
  17.        $ENDIF                                                                   
  18.        $IF  (B.SV=ST.SV)++(B.L=0)                                               
  19.        $IF  (A.SV=ST.SV)++(A.L=0)                                               
  20.        CALL TBW$01       MOVE RAM->ROM                                          
  21.        REF  TBW$01                                                              
  22.        DATA :L.V:        FOR :L.V: WORDS                                        
  23.        $ELSE                                                                    
  24.        CALL TBW$1        MOVE RAM->ROM                                          
  25.        REF  TBW$1                                                               
  26.        DATA :A:          FROM :A:                                               
  27.        DATA :L.V:        FOR :L.V: WORDS                                        
  28.        $ENDIF                                                                   
  29.        $ELSE                                                                    
  30.        $IF  (A.SV=ST.SV)++(A.L=0)                                               
  31.        CALL TBW$0        MOVE RAM->ROM                                          
  32.        REF  TBW$0                                                               
  33.        DATA :B:          TO :B:                                                 
  34.        DATA :L.V:        FOR :L.V: WORDS                                        
  35.        $ELSE                                                                    
  36.        CALL TBW$$        MOVE RAM->ROM                                          
  37.        REF  TBW$$                                                               
  38.        DATA :A:          FROM :A:                                               
  39.        DATA :B:          TO :B:                                                 
  40.        DATA :L.V:        FOR :L.V: WORDS                                        
  41.        $ENDIF                                                                   
  42.        $ENDIF                                                                   
  43.        $END